#!/bin/bash
################### 自动化安装mongoDB脚本 #####################
# 执行之前：
# 	1. 去除特殊字符：sed -i 's/\r//' install_mongoDB.sh
# 	2. 添加执行权限：chmod +x install_mongoDB.sh
# 	3. 如果下载速度比较慢，可以提前将以下安装包上传到/opt/soft目录下：mongodb-linux-x86_64-rhel70-4.2.24.tgz
# 执行命令：source install_mongoDB.sh
# 执行之后：
# 脚本说明：
########################################################

echo "----------0.准备环境----------------"
# 创建存放数据和日志的文件夹
mkdir /opt/mongodb
cd /opt/mongodb
mkdir db logs
# 创建日志文件
touch  /opt/mongodb/logs/mongodb.log
echo "准备环境OK"

echo "----------1.安装mongoDB----------------"
cd /opt/soft
# 如果下载比较慢，也可以提前上传安装包到/opt/soft，然后将该行命令注释掉
#wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.24.tgz
# 判断安装包是否存在
FILE_PATH=/opt/soft/mongodb-linux-x86_64-rhel70-4.2.24.tgz
if [ -e $FILE_PATH ]; then
    echo "$FILE_PATH存在"
else
    echo "$FILE_PATH不存在"
    exit 1
fi
# 解压
tar -zxvf mongodb-linux-x86_64-rhel70-4.2.24.tgz
# 重命名
mv mongodb-linux-x86_64-rhel70-4.2.24 mongodb-4.2.24
# 设置环境变量
export MONGO_HOME=/opt/soft/mongodb-4.2.24
echo "install mongoDB success!"

echo "----------2.编辑mongoDB配置文件----------------"
cd /opt/soft/mongodb-4.2.24
touch  mongodb.conf
cat >> mongodb.conf << EOF
port=27017
dbpath=/opt/mongodb/db
logpath=/opt/mongodb/logs/mongodb.log
logappend=true
fork=true
maxConns=100
noauth=false
journal=true
storageEngine=wiredTiger
bind_ip=0.0.0.0
EOF
echo "edit config file success!"

echo "----------3.启动mongod服务----------------"
cd /opt/soft/mongodb-4.2.24/bin
./mongod --config /opt/soft/mongodb-4.2.24/mongodb.conf
# 停止mongod服务：
# ./mongod --config /opt/soft/mongodb-4.2.24/mongodb.conf --shutdown
echo "start mongoDB success!"